package com.gitee.jnxj.nraft.common.core;

import lombok.Builder;
import lombok.Data;
import lombok.ToString;

/**
 * 跟随者节点信息
 *
 * @author 江南小俊
 * @since 2021/7/12
 **/
@Data
@Builder
@ToString
public class Peer {
    /**
     * 节点序号
     **/
    private int id;
    /**
     * 针对所有的服务器，内容是需要发送给每个服务器下一条日志条目索引号(初始化为leader的最高索引号+1)
     **/
    private long nextIndex;
    /**
     * 针对所有的服务器，内容是已知要复制到每个服务器上的最高日志条目号，初始化为0，单调递增
     **/
    private long matchIndex;
    /**
     * 是否投票赞成
     **/

    private boolean voteGranted;

    private PeerAddress peerAddress;
}
